import time

import cv2
import numpy as np
import pyautogui

buff_image = cv2.imread('utils/buff.png')  # buff

last_buff_time = 0


def refresh_buff_by_ui():
    screenshot = pyautogui.screenshot()
    screenshot = cv2.cvtColor(np.array(screenshot), cv2.COLOR_RGB2BGR)
    # result是一个二维数组
    # 这个二维数组中的每个元素表示在输入图像（screenshot）中的对应位置与模板图像（target_image）的匹配程度。
    result = cv2.matchTemplate(screenshot, buff_image, cv2.TM_CCOEFF_NORMED)
    min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
    confidence = max_val
    if confidence < 0.9:
        get_buff()


# 这个脚本功能是在屏幕上找到浮标, 并点击
def refresh_buff_by_time():
    now = time.time()
    if now - last_buff_time > (10 * 60):  # 明亮的小珠有效市场10分钟
        get_buff()


def get_buff():
    # 先将窗口切回到游戏
    x = 1000
    y = 850
    # 模拟鼠标点击
    pyautogui.click(x, y)
    pyautogui.click(x, y)
    time.sleep(0.5)
    # 没有buff, 需要补buff
    pyautogui.press('-')
    # 上buf需要2秒, 这里等待2.5秒
    time.sleep(2.5)
    global last_buff_time
    last_buff_time = time.time()


now = time.time()
